/*
 * Copyright© 2003-2019 浙江汇信科技有限公司, All Rights Reserved.
 */
package com.icinfo.cloud.provider.punish.fastcase.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.icinfo.cloud.common.core.Validator.BaseGroup;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;

/**
 * 描述: 文书修改记录表 case_document_modify_record 对应的DTO类.<br>
 *
 * @author framework generator
 * @date 2023年01月06日
 */
@Data
public class AppFastCaseDocumentModifyOfRegisterDto {

    /**
     * 案件id
     */
    @NotEmpty(message = "案件id不能为空")
    private String caseId;

    /**
     * 修改文书的id
     */
    @NotEmpty(message = "修改文书的id不能为空")
    private String documentId;

    /**
     * 案件来源id
     **/
    private String caseSourceId;
    /**
     * 案件来源
     */
    @NotEmpty(message = "案件来源不能为空",groups = BaseGroup.Update.class)
    private String caseSource;

    /**
     * 案发时间
     **/
    @NotNull(message = "案发时间不能为空",groups = BaseGroup.Update.class)
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private String caseHappenTime;

    /**
     * 移送单位统一社会信用代码
     **/
    private String transferUnitUniscid;

    /**
     * 移送单位
     **/
    private String transferUnit;
    /**
     * 移送人
     **/
    private String transferPerson;
    /**
     * 移送人手机号码
     **/
    private String transferPhone;
    /**
     * 案发地详情（完整）
     **/
    private String caseHappenAddress;
    /**
     * 案发地(中文)
     **/
    @NotNull(message = "案件地不能为空",groups = BaseGroup.Update.class)
    private String caseHappenAddressDetail;
    /**
     * 案发地区域编码
     **/
    @NotEmpty(message = "案发地区域编码不能为空",groups = BaseGroup.Update.class)
    private String caseHappenAddressAreaCode;
    /**
     * 案发地区区域名称（中文数组）
     * 新增回显参数--不做使用，仅作回显
     */
    private String[] caseHappenAddressAreaNames;

    /**
     * 案件名称
     */
    @NotEmpty(message = "案件名称不能为空",groups = BaseGroup.Update.class)
    private String caseName;

    /**
     * 案件简要情况
     **/
    @NotEmpty(message = "案件简要情况不能为空",groups = BaseGroup.Update.class)
    private String caseConciseCondition;

}
